import network
from machine import Pin
import socket

wlan = network.WLAN(network.STA_IF) # 创建接口
wlan.active(True)       # 激活接口
wlan.scan()             # 扫描当前热点
wlan.connect('1439', '234567890') # 连接到指定wifi，其中ssid为wifi名，key为wifi密码
# wlan.config('mac')      # 获取连接后的mac地址 
network_config = wlan.ifconfig()         # 获取连接后的IP/netmask/gw/DNS等地址信息
#print(network_config)

# 定义 灯泡引脚
d15 = Pin(15,Pin.OUT)
d15.value(0) # 默认不亮灯

while not wlan.isconnected():
    continue

if network_config[0] != '0.0.0.0':
    # 说明ip获取正确
    print("当前IP地址:",network_config[0])
    # 创建一个socket对象
    client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
     
    # 定义服务器的IP地址和端口号
    server_address = ('192.168.10.5', 9999)
     
    # 尝试连接到服务器
    client_socket.connect(server_address)
     
    # 连接成功后，可以发送和接收数据
    #send_data = "Hello, server!"
    #client_socket.sendall(send_data.encode('utf-8'))  # 发送数据
     
    # 接收服务器的响应
    while True:
        response = client_socket.recv(1024)  # 接收数据，1024字节的缓冲区
        #print('Received:', response.decode('utf-8'))
        # 判断传输指令
        command = response.decode("utf-8")
        if command == "close":
            # 如果服务器发送了close字符串，则关闭当前连接
            d15.value(0)
            break
        else:
            if command == "1":
                # 则表示亮灯
                print("点亮灯泡")
                d15.value(1)
            elif command == "0":
                # 则表示灭灯
                print("关闭灯泡")
                d15.value(0)
            else:
                print("无效指令:",command)
     
    # 关闭socket连接
    client_socket.close()
else:
    print("Wifi连接失败！")




